# 列表操作
str1 = ["搜狗输入法真强大", "可以切换皮肤", "真不错"]
# 获取单个元素
print(str1[0])

# 获取多个元素  切片

print(str1[1::])

# 列表遍历
for i in str1:
    print(i)

i = 1
while i < len(str1):
    print(str1[i])
    i += 1  # 需要注意控制语句

for i, j in enumerate(str1):
    print(i)

# 列表添加 append  insert extend

my_list = ['张三', '李四', '王五']
my_list.insert(0, '心灵星图')
print(my_list)
my_list.append('hello')
print(my_list)
my_list2 = ['python', 'java', 'javascript']
my_list.extend(my_list2)
print(my_list2)

# 列表查询 index count in not input()
my_list = ['aa', 'bb', 'cc']
print(my_list.index('cc', 0, 3))
my_list = ['张三', '李四', '王五']
print(my_list.index('王五', 0, 3))

print(my_list.count('张三'))

# 列表删除 pop remove
my_list = ['增', '删', '改', '查']
print(my_list.pop(0))
print(my_list)

print(my_list.remove('查'))
print(my_list)

# 修改功能 倒叙   倒序,升序   根据小标修改
my_list = ['增', '删', '改', '查']
# my_list.reverse();
# print(my_list)
#
# my_list.sort(reverse=True)
#
# my_list[0] = 'append extend insert'

# 列表的嵌套

class_1 = ['张三', '李四', '王五']
class_2 = ["小明", '小张', "小李"]
class_3 = ["天王", '永王', '忠王']

school = []
school.append(class_1)
school.append(class_2)
school.append(class_3)

print(school[2][2])  # 这种写法需要注意

# tuple 元组,里面存放的是不可变数据

t1 = (1,)
t2 = (1, 2, 3)

print(type(t1))
print(t2[0])  # 注意中括号用法
print(t2.index(1))  # 需要注意的是 index 里面存放的是元素
print(t2.count(0))

# 容器类型 字典 dict()

dict1 = {'name': 'hello', 'sex': '男'}
print(dict1['name'])

dict2 = {}
dict3 = dict()

dict1.get('name')
print(dict1.keys())
print(dict1.values())
print(dict1.items())
# dict_keys(['name', 'sex'])
# dict_values(['hello', '男'])
# dict_items([('name', 'hello'), ('sex', '男')])

# 字典的遍历

for i in dict1:
    print(i)
for i in dict.keys():
    print(i)
for k, v in dict.items: # 元组自动拆包
    print(k, v)
